Mobile telephone device and data-management method

ABSTRACT

A mobile telephony device, comprising: 
         a storage device ( 1 ) (for example a SIM/USIM card) comprising means for storing at least one application ( 3 A,  4 A);    at least one data array manager module ( 5 ) for managing data arrays of at least one application stored in the storage device, comprising means for receiving, by means of a remote access (OTA) message, at least one instruction for operating on at least one piece of data contained in an array of a specified application, means for accessing said array according to said instruction, and means for performing at least one operation on said at least one piece of data in said array, according to said instruction. The invention also refers to a method for managing data in arrays of applications stored in a card of a mobile telephony subscriber equipment.

FIELD OF THE INVENTION

The invention is encompassed within the field of mobile telephony. As is known, English acronyms and terms are normally used in said field to refer to elements and concepts pertaining to the field. To facilitate the reading of this specification and for a reader not skilled in the art, a listing of acronyms used herein is set forth below:

-   -   GSM Global System for Mobile Communication     -   ICC Integrated Circuit Card     -   SIM Subscriber Identity Module     -   SAT SIM Application Toolkit (or simply “Toolkit Applications”; a         set of tools for applications on the SIM)     -   UMTS Universal Mobile Telecommunications System (also called         “Third Generation Mobile Telephony”)     -   UICC UMTS Integrated Circuit Card     -   USIM Universal Subscriber Identity Module     -   USAT USIM Application Toolkit (the SAT in the case of UMTS)     -   OTA Over The Air (Remote access to the SIM/USIM card)

BACKGROUND OF THE INVENTION

There are currently different types of mobile telephones (also called “portable” or “cellular telephones”) which are usually provided with a keyboard and a display with the capacity to show alphanumerical symbols and, in many cases, graphics as well.

There are currently several mobile telephony systems, among them are the GSM and UMTS (also call “Third Generation Mobile Telephony”) systems.

The subscriber equipment in the GSM system as well as the UMTS system comprises:

a) on one hand, a terminal (which is what many times is called “mobile telephone”) (which includes a casing, display, keyboard, power source and several circuits); and

b) on the other hand, an ICC or UICC (UMTS Integrated Circuit Card) card. In the case of GSM, this is an ICC card called SIM card or simply SIM (Subscriber Identity Module), or it is a UICC card with a SIM application, and in the case of UMTS, it will be a UICC with a USIM application. Both the SIM card as well as the UICC card (with one or several SIM and/or USIM applications) contain a set of files with data of the mobile telephony network operator or of the subscriber, and they are provided with means for carrying out operations associated with a series of commands which permit the terminal to access those files (to read them, write them, select them, verify subscriber keys, etc.). The data authenticating the subscriber to the network is contained among the subscriber data.

Until the arrival of UMTS (the so-called Third Generation Mobile Telephony), no distinction was usually made between the physical interface of the application (dependent on the nature of the integrated circuit card ICC) and the application itself: both were called SIM. Third Generation Mobile Telephony (UMTS) introduced the separation of the physical interface and the applications. The physical interface receives the name UICC; it is a platform on which several applications can simultaneously coexist; there can be SIM and/or USIM applications among them. In UMTS, the subscriber identification application receives the name USIM.

An integrated circuit card is considered a physically secure device, i.e. it is a device in which the stored data is protected against third party attacks trying to read them, modify them, delete them or falsify them without permission of the owner of the information.

Reference is occasionally made below to the subscriber identity module as SIM for both GSM and UMTS (i.e. with SIM, reference is also made to a UICC with the corresponding SIM or USIM applications).

In the field of mobile telephony, the SAT=SIM Application Toolkit (in UMTS, USAT=USIM Application Toolkit) concept is known, consisting of a set of tools for SIM applications; reference is made below to an application based on said tools as a “Toolkit application”.

At first, mobile terminals were only capable of sending commands to the SIMs, whereas the SIMs were only capable of responding to commands received from the mobile terminal.

An evolution of mobile terminals and SIM cards later occurred, and on one hand, it permits the terminals to send commands to the SIM card as well as to receive commands therefrom, and on the other, it permits the SIM card to respond to commands received from the mobile terminal as well as to send commands thereto. These commands permit the SIM, for example, to request the terminal to send a short message (SM), to make a call, to show the subscriber a list of options, to request data from him/her, etc.

The applications existing in the SIM card capable of sending commands to the mobile terminal are known by the name of SAT (SIM Application Toolkit) applications. In UMTS, they are known by the name of USAT (USIM Application Toolkit) applications. Both of them are generally called Toolkit applications.

Toolkit applications are an optional feature of both SIM cards and UICC cards (with the corresponding applications). High level procedures, command content and command encoding, are specified in the GSM 11.14 standard for GSM and in the 3GPP TS 31.111 standard for UMTS.

The OTA (Over The Air) concept is also known, which refers to the remote access to the SIM (or USIM) card. When the cards initially became available on the market, the operator could not modify anything in them, they were out of its reach. However, it seemed interesting to be able to modify the content of some files in the card, to modify the customization profile and to load or modify Toolkit applications once the card was in possession of the client.

Therefore, card manufacturers began to incorporate OTA (remote access) systems which permitted managing the contents of the card by means of special short messages. Each manufacturer had a proprietary solution incompatible with that of the other manufacturers. Standard specifications have been subsequently generated for carrying out this type of remote OTA modifications (GSM 03.48 and 3GPP 23.048). Based on these specifications, compatible OTA systems which permit file and application management can be implemented.

Work is currently being done to define standards which permit using other types of carriers, not only short messages, to make communications faster and more flexible, these carriers can be GPRS (General Packet Radio Service), Bluetooth, data call, etc.

A multitude of SIM Toolkit applications are being developed in mobile telephony which are intended to be managed remotely by the operator. The problem arises when wanting to remotely access application data, such as the texts it shows, telephone numbers being called or being sent short messages, or any other type of data.

The applications can be loaded remotely following the standards, but the creation of files in a remote manner is not defined, therefore, if the desire. is to be able to load an application and for it to contain some type of data, the data must be stored in an array and not in a file so that it can be downloaded remotely in the card. The problem is that remote access (i.e. “via OTA”) to the data stored in arrays is not defined in any way.

Therefore, if the intention is to load applications remotely, the data must be stored in arrays and not in files, but the arrays cannot be modified remotely, therefore the data of an application loaded remotely could not be modified remotely. To currently modify one piece of this data, the application must be deleted and completely reloaded with the modified data, losing all the information that the subscriber may have introduced to customize the application.

Having to eliminate and reload the application to modify, for example, a telephone number, makes it necessary to send between 40 to 60 short messages for a typical application (depending on the size of the application) when one short message would suffice if the telephone number to be modified were in a file.

FIG. 1 shows an example of the state of the art: a SIM (or USIM) card 1 contains a remote access manager (OTA manager) 2 comprising a remote application manager module 2A and a remote file manager module 2F. The card 1 also includes a first Toolkit application 3A and a second Toolkit application 4A. The applications can be SAT or USAT. The first Toolkit application 3A is related to (it reads, writes, handles, etc.) data 3D stored in a file 3F. Said file is established during the customization of the card in the factory (arrow “a” in FIG. 1). The second Toolkit application 4A is related to data 4D stored in an array forming part of the application itself.

The card 1 can be managed remotely by means of an OTA system; OTA messages are received in the subscriber equipment and transmitted to the card, where the remote access manager 2 (constituting a Toolkit application in itself takes charge of performing the appropriate operations. The applications 3A (arrow “b”) and 4A (arrow “c”) can be loaded in the card by means of the remote application manager module 2A, and if the file 3F has been established in the factory during the customization of the card, the data 3D can be written, read or manipulated remotely (OTA) by means of the file manager module (2F) (arrow “d”). (However, if the file 3F was not created during said customization in the factory, it will not be possible to correctly load the first Toolkit application 3A, since the associated file 3F cannot be created remotely (OTA)).

On the other hand, with regard to the second Toolkit application 4A, the current remote access (OTA) system permits loading the application correctly even though it does not have an associated file, since the application does not require a file: as indicated, the data 4D is stored in an array in the application itself. However, the current remote access (OTA) system for accessing the card does not permit modifying the data 4D associated to said application remotely, since the remote access system (including the remote access manager 2) does not comprise means for accessing and manipulating data in one array of one application. Therefore, to modify any data 4D, it would be necessary to delete the entire application 4A and reload it through the application manager module 2A, with the drawbacks this entails.

DESCRIPTION OF THE INVENTION

A first aspect of the invention refers to a mobile telephony device (which can be a SIM/USIM card or a subscriber equipment comprising a terminal and said SIM/USIM card), comprising:

a storage device (for example, an integrated circuit card (ICC) with a subscriber identity module (SIM/USIM) comprising means for storing at least one application (for example a SAT/USAT application); and

means for remote access (OTA) management of the storage device based on remote access (OTA) message reception by mobile telephony (i.e. the means mentioned in the foregoing, including, for example, a remote access manager—OTA manager—with its application manager and file manager and the different carriers which can be used for making the remote access messages reach the card, such as short messages, data calls, GPRS, Bluetooth, etc).

According to the invention, the device also comprises at least one data array manager module for managing data arrays of at least one application stored in the storage device. The data array manager module comprises:

-   -   means for receiving, by means of a remote access (OTA) message,         at least one instruction for operating on at least one piece of         data contained in an array of a specified application.     -   means for accessing said array according to said instruction;         and     -   means for performing at least one operation on said at least one         piece of data in said array, according to said instruction.

The data array manager module is responsible for processing the data or instructions received in an OTA message, for accessing the array and for modifying it according to the instructions.

From the functional point of view, the system can be made up of the following elements:

-   -   A GSM, UMTS card or the like, in which there is a module (either         an API (Application Programming Interface) or an independent         application) responsible for the OTA array management.     -   A terminal supporting SAT or USAT supporting Data Download (more         and more models support it—many Siemens, Nokia, Samsung,         Alcatel, etc., models) and/or which is class “e”, i.e. it         supports the channel management commands (there are currently         few terminals which support it, but the number of those that do         is increasing).     -   An OTA server with the associated systems.

The array manager module has a suitable interface so that it can access the arrays of the different applications.

The means for accessing the array can comprise:

-   means for asking the specified application for a reference of the     array; -   means for receiving the requested reference; and -   means for accessing the array based on said reference.

The data array manager module can be configured to be able to access arrays of a plurality of applications. For example, the module can consist of an independent application capable of accessing the arrays of a plurality of applications.

However, it is also possible to use a specific manager module for each application in which the intention is to operate on data in an array by means of remote access (OTA). For example, the manager module can be part of the specific application, the data array of which is to be accessed, for example, it may be constituted of an API (Application Programming Interface).

The means for remote access (OTA) management can be based on the GSM 03.48 standard or on the 3GPP 23.048 standard.

The device preferably comprises a terminal supporting SAT or USAT and supporting Data Download, and/or a class “e” terminal supporting the SIM Toolkit commands for channel management.

Another aspect of the invention refers to a method for managing data in arrays of applications stored in a card (for example, in a SIM/USIM card) of a mobile telephony subscriber equipment, and comprising the steps of:

-   receiving a message from a remote access (OTA) server, with at least     one instruction regarding at least one piece of data in one array of     one application stored in the card; -   analyzing the instruction; -   accessing the array based on the instruction; -   operating on said at least one piece of data in the array based on     the instruction;

The step for accessing the array can comprise the steps of:

-   asking the application for a reference of the array; -   receiving said reference; and -   accessing the array based on said reference.

The message is preferably received in a terminal of the subscriber equipment and is sent from the terminal to the card, where a remote access (OTA) manager module in the card forwards the instruction to a data array manager module identified in the message. The message is preferably of the Data Download type and is sent to the card by means of the ENVELOPE command. The instruction can be forwarded to a data array manager module identified by means of the TAR field of the message. It is also possible to send the message to the card through a Bearer Independent Protocol-based channel.

A service requiring the modification of data in an application downloaded remotely (or not) in the card can use this system. The module managing the arrays must be capable of identifying different commands to permit a more flexible management of the arrays. It is interesting to use commands which permit at least:

-   -   Writing     -   Reading

Other commands can be added to the former, such as:

-   -   Deleting     -   Copying     -   Increasing

A good option is that of supporting the same commands specified in the GSM 11.11 standard and/or in the 3GPP 31.101 standard for file management:

-   -   UPDATE BINARY     -   UPDATE RECORD     -   READ BINARY     -   READ RECORD     -   INCREASE

This permits flexible management of the arrays with a minimum code size.

BRIEF DESCRIPTION OF THE DRAWINGS

A series of drawings which help to better understand the invention and which are expressly related to one embodiment of said invention, presented as an illustrative and non-limiting example thereof, is very briefly described below:

FIG. 1 schematically shows some components of a SIM/USIM card according to the state of the art.

FIG. 2 schematically shows some components of a SIM/USIM card including a data array manager module, according to the invention.

FIG. 3 schematically shows a system comprising a device and operating according to the invention.

DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

Similarly to FIG. 1, FIG. 2 shows (most of the components can be identical to those of FIG. 1 and have been indicated with the same numerical references for greater clarity) a SIM (or USIM) card 1 containing a remote access (OTA) manager 2 comprising a remote application manager module 2A and a remote file manager module 2F. The card 1 also includes a first Toolkit application 3A (SAT or USAT) and a second Toolkit application 4A (SAT or USAT). The first Toolkit application 3A is related to (reads, writes, manipulates, etc.) data 3D stored in a file 3F. Said file was established during the customization of the card in the factory (arrow “a” in FIG. 2). The second Toolkit application 4A is related to data 4D stored in an array forming part of the application itself.

The card 1 can be managed remotely by means of a remote access (OTA) system; the OTA messages are received in the subscriber equipment and transmitted to the card, where the remote access manager 2 takes charge of performing the appropriate operations. By means of the remote application manager module 2A, the applications 3A (arrow “b”) and 4A (arrow “c”) can be loaded in the card 1, and since the file 3F was established in the factory during the customization of the card, the data 3D can be written, read or manipulated remotely (OTA) by means of the file manager module (2F) (arrow “d”).

On the other hand and according to the invention, the card 1 contains a data array manager module 5 comprising: means for receiving, by means of a remote access (OTA) message, at least one instruction for operating on at least one piece of data contained in an array of a specified application (arrow “e” in FIG. 2); means for accessing said array according to said instruction; and means for performing at least one operation on said at least one piece of data in said array, according to said instruction. Therefore, the data array manager module permits operating on the data 4D in the second Toolkit application 4A, without the necessity of deleting and re-writing the entire application in the memory of the card.

FIG. 3 shows a preferred embodiment of the invention, wherein the array manager module 5 consists of an independent application, which can entail an advantage over the alternative which consists of each application managing its own arrays. The advantage consists of the fact that all the messages reaching the Array Manager (the array manager module 5) will be processed as array management messages, whereas in the other solution, in which each application manages its own arrays, it is necessary to distinguish between array management messages and other types of messages which the application may receive for normal operation thereof.

FIG. 3 shows the following process:

The remote access OTA server 10 sends a Data Download-type message M1 to a mobile telephone.

The mobile telephone terminal 20 of the subscriber equipment receives the message and sends it to the SIM/USIM card 1 by means of the ENVELOPE command M2.

The corresponding remote access manager (OTA manager) 2 of the card 1 unpacks the message (it deciphers it, verifies the checksum, etc.) and sends it to the application (to the data array manager module 5) indicated in the TAR field of the message by means of the message M3 comprising instructions relative to the operation which must be performed on the data of the application 4A.

The data array manager module 5 receives the instructions (data, commands) where the array to be modified is indicated by means of the AID of the application and the identification number of the array which is assigned during programming.

The following procedure, shown in FIG. 3, is carried out in the data array manager module 5:

From “start” (SO), the procedure passes to an instruction stand-by state S1. Once the instructions are received, the manager module analyzes the instructions (step S2), and then makes a call M4 to the application 4A requesting a reference to the array (step S3).

The proprietary application 4A of the array in question sends a reference to the array to the data array manager module (5) by means of a message M5. The data array manager module (5) receives said reference (step S4).

Next (step S5), the Array Manager proceeds to write, read or whatever corresponds for it to do.

Then (step S6) it sends a message to the OTA Server indicating the result of the operation, preferably, a short message (SM) using the short message service (SMS) of the system (M6+M7).

The commands supported for file management indicated in the GSM 11.11 and 3GPP 31.101 standards can be used.

Additionally, the SELECT by AID command based on (although it will not be equal because no outgoing data is expected to be received) the 3GPP 31.101 standard to indicate the proprietary application of the array and the SELECT command to select the array can be used.

The status codes can be the same as those specified in the corresponding standards for the respective commands.

Thus, the Data Download message is a concatenation of commands as follows:

-   -   SELECT by AID: to indicate the application     -   SELECT: to indicate the array     -   UPDATE BINARY, UPDATE RECORD, etc.: to modify the array.

The response will be the concatenation of the status codes, for example, in a correct case, it would be:

-   -   90 00: Application selected correctly     -   90 00: Array selected correctly     -   90 00: Correct writing

The arrays can be identified for their selection by two bytes, as indicated below:

Byte 1: encodes the array structure. The encoding is the same as that defined for files in GSM 11.11, that is:

-   -   00 Binary     -   01 Fixed linear     -   03 Cyclical

Byte 2: identifies the array. The arrays will be registered in the application with sequential numbers beginning with 00.

For example:

If the intention is to manage the array 03 as fixed linear, its identification will be:

-   -   01 03

And it will be selected with the command:

-   -   A0 A4 00 00 02 01 03

The result of the selection will be:

-   -   90 00

Throughout the present description and claims, the word “comprises” and variations thereof, such as “comprising”, are not meant to exclude other steps or components. 

1. A mobile telephone device, comprising: a storage device (1) comprising means for storing at least one application (3A, 4A ); means for remote access (OTA) management of the storage device based on the remote access (OTA) message reception by mobile telephony; characterized in that it further comprises at least one data array manager module (5) for managing data arrays of at least one application stored in the storage device, said data array manager module comprising: means for receiving, by means of a remote access (OTA) message, at least one instruction for operating on at least one piece of data (4D) contained in an array of a specified application (4A); means for accessing said array according to said instruction; and means for performing at least one operation on said at least one piece of data (4D) in said array, according to said instruction.
 2. A device according to any of the previous claims, characterized in that the means for accessing said array comprise: means for asking the specified application (S3) for a reference of the array; means for receiving the requested reference (S4); and means for accessing the array based on said reference (S5).
 3. A device according to any of claims 1 and 2, characterized in that the application is a SAT or USAT application.
 4. A device according to any of the previous claims, characterized in that the storage device (1) is an integrated circuit card (ICC) with a subscriber identity module (SIM/USIM).
 5. A device according to any of the previous claims, characterized in that the data array manager module (5) is configured to be able to access arrays of a plurality of applications.
 6. A device according to any of claims 1-4, characterized in that the data array manager module is part of the specific application, the data array of which it must be able to access.
 7. A device according to the previous claim, characterized in that the data array manager module is an Application Programming Interface (API).
 8. A device according to any of the previous claims, characterized in that the remote access management means are based on the GSM 03.48 standard or on the 3GPP 23.048 standard.
 9. A device according to any of the previous claims, characterized in that it comprises a terminal (20) supporting SAT or USAT and supporting Data Download, and/or a class “e” terminal supporting the SIM Toolkit commands for channel management.
 10. A method for managing data in arrays of applications stored in a card (1) of a mobile telephony subscriber equipment, characterized in that it comprises the steps of: receiving a message (Ml) from a remote access (OTA) server (10), with at least one instruction regarding at least one piece of data in one array of one application (4A) stored in the card; analyzing the instruction (S2); accessing the array (S5) based on the instruction; operating (S5) on said at least one piece of data in the array based on the instruction.
 11. A method according to claim 10, characterized in that the step of accessing the array comprises the steps of: asking the application for a reference of the array (S3); receiving said reference (S4); and accessing the array based on said reference (S5).
 12. A method according to any of claims 10 and 11, characterized in that the message (Ml) is received in a terminal (20) of the subscriber equipment; the message is sent from the terminal to the card (1); a remote access (OTA) manager module (2) in the card forwards the instruction (M3) to a data array manager module (5) identified in the message.
 13. A method according to claim 12, characterized in that the message (M1) is of the Data Download type.
 14. A method according to claim 13, characterized in that the message is sent to the card (1) by means of the ENVELOPE command (M2).
 15. A method according to claim 12, characterized in that the message (M1) is sent to the card through a Bearer Independent Protocol-based channel.
 16. A method according to any of claims 14 and 15, characterized in that the instruction is forwarded to a data array manager module (5) identified by means of the TAR field of the message. 